<%-- 
    Document   : CON_CARGO_CUENTAS
    Created on : 12-nov-2014, 18:40:06
    Author     : equipo_4
--%>

<%@page import="java.util.List"%>
<%@page import="Conexion.Conexion"%>
<%@page import="RRHH_Modelo.RHH_USUARIO"%>
<%@page import="RRHH_Modelo.RHH_CARGO"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>BROKER</title>
         <script src="../login/js/jquery-1.8.2.min.js" type="text/javascript"></script>
         <link href="../css/NuevoStilo.css" rel="stylesheet" type="text/css"/>
        <script src="../js/jquery-ui.js" type="text/javascript"></script>
        <script src="../js/jquery.ui.touch-punch.js" type="text/javascript"></script>
    </head>
     <body>
        <div id="CuerpoFormulario">
            <h1 id="tituloFormulario">PERMISOS CUENTA CONTABLE</h1>
                <div id="tabs" class="contenedor30 altoGrande">
                    <div style="border: solid thin; padding: 0 10px; height: 93%; overflow: hidden;">
                        <div class="contenidoTab" style="display: block">
                            <%
                                RHH_USUARIO usuario = ((RHH_USUARIO)request.getSession().getAttribute("usr"));
                                Conexion con = new Conexion(usuario.getUSUARIO(), usuario.getPASSWORD());
                                RHH_CARGO cargos = new RHH_CARGO(con);
                                cargos.setCon(con);
                                List<RHH_CARGO> lista = cargos.Todos();
                                for (int i = 0; i < lista.size(); i++) 
                                {
                                    String html="<div class=\'subMenu\'  data-value=\'"+(int)lista.get(i).getID()+"\'><div style=' display: inline-block; padding-left: 6px; width:87%;'>"+lista.get(i).getDESCRIPCION()+"</div></div>";
                                    out.print(html);
                                }
                            %> 
                        </div>
                    </div>
                </div>
                <input type="hidden" name="IdSubMenu" />
                <div class="contenedor70 altoGrande" style="padding: 5px 0 10px 10px;">
                    <div style="background: none repeat scroll 0 0 white;border: thin solid silver;margin-top: -5px;opacity: 0.8;padding: 6px 0 0 10px;">
                        <input type="text" id="codigo" class="normal" style="background: none repeat scroll 0 0 rgba(0, 0, 0, 0);color: black;height: 10px;"/>
                        <input type="text" id="descripcion" class="Extragrande"  style="background: none repeat scroll 0 0 rgba(0, 0, 0, 0);color: black;height: 10px;"/>
                        <button onclick="agregarCuenta()">+</button>
                    </div>
                    <div style="overflow: auto; height: 348px;">
                        
                    </div>
                </div>
        </div>
        <div id="popUpCarga" class="Extragrande"><img src="../img/iconos/ajax-loader.gif" alt=""/> <span class="negrilla">Cargando las cuentas espere por favor</span></div>
        <div id="popUpbackGround"></div>
        <span id="resultado"></span>
        <span id="resultado_codigo"></span>
        <script type="text/javascript">
            $(document).ready(function(){
                versionamiento();
            });
            $(".subMenu").click(function(){
                submenuSeleccionado=$(this);
                submenu(this);
            });
            var ListaCuentaContable=[];
            var submenuSeleccionado;
            function versionamiento(){
                var versionCuenta=localStorage['versionCuentaHoja'];
                if(typeof (versionCuenta)=="undefined")
                    versionCuenta=-1;
                $("#popUpCarga").css("display","block");
                $("#popUpbackGround").css("display","block");
                $.post(url,{proceso:"version"},function(responsetext){
                     var json=$.parseJSON(responsetext);
                     if(json.cuenta!=versionCuenta){
                         cargarCuentas(json.cuenta,versionCuenta);
                     }else{
                        ListaCuentaContable = $.parseJSON(localStorage['CuentaContableHoja']);
                        $("#popUpCarga").css("display","none");
                        $("#popUpbackGround").css("display","none");
                        actualizarCambio();
                     }
                });
               
            }
            function cargarCuentas(versionCuenta,vcuenta){
                ListaCuentaContable = $.parseJSON(localStorage['CuentaContableHoja']);
                if(ListaCuentaContable==null){
                    ListaCuentaContable=[];
                }
                $.post(url,{proceso:"cargarCuenta",cuenta:vcuenta},function(responsetext){
                    var json=$.parseJSON(responsetext);
                    localStorage['versionCuentaHoja']=versionCuenta;
                    if(vcuenta==-1){
                        if(typeof(ListaCuentaContable)!="undefined")
                        ListaCuentaContable=json.cuenta;
                    }else{
                        $.each(json.cuenta, function(){
                            var item=$(this);
                            if(item.CODIGO=="na"){
                                delete ListaCuentaContable["c"+item.id];
                            }else{
                                 ListaCuentaContable["c"+parseInt(item.id)]={
                                     CODIGO:item.CODIGO,
                                     MONEDA : item.MONEDA,
                                     DESCRIPCION : item.DESCRIPCION,
                                     NIVEL :item.NIVEL,
                                     id :item.id,
                                     idnivel : item.idnivel,
                                     tipo : item.tipo
                                 }; 
                             } 
                         });
                    }
                    localStorage["CuentaContableHoja"] = JSON.stringify(ListaCuentaContable);
                    $("#popUpCarga").css("display","none");
                    $("#popUpbackGround").css("display","none");
                    actualizarCambio();
                });
            }
            var focusresultante=0;
            $("#descripcion").keyup(function (){
                var posicion = $(this).position();
               $("#resultado").css({
                   position:"absolute",
                   left:posicion.left-6,
                   top:posicion.top+20,
                   background:"white",
                   border:"solid black thin",
                   font:"10px Arial",
                   color:"black",
                   opacity:0.7,
                   display:"block"
               });
               var value = $(this).val();
               $('#resultado').html("");
               var count=0;
              $.each(ListaCuentaContable, function(i, item) {
                   if(ListaCuentaContable[i].DESCRIPCION.toUpperCase().search(value.toUpperCase())>-1){
                       var extra="";
                        if(count==focusresultante){
                           extra=" style='background:red;' data-focus='1' ";
                       }
                       var texto = "<a href='#' "+extra+" data-id='"+item.id+"' class='negrillaenter' onclick=\"seleccionarBusqueda('"+item.CODIGO+"', '"+item.DESCRIPCION+"','"+item.id+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</a>";
                       $('#resultado').append(texto);
                       count++;
                   }
               }); 
               var idPerfil=$("input[name=IdSubMenu]").val();
                if(idPerfil.length>0){
                    $("div[name=cuentasRe]").each(function(){
                         var id=parseInt($(this).data("id"));
                         if($("a[data-id='"+id+"']").length>0){
                             $("a[data-id='"+id+"']").remove();
                         }
                    });
                }
           });
           $("#codigo,#descripcion").keydown(function (e){
                focusresultante=0;
                $.each($("#resultado a"),function(i,item){
                      if($(this).data("focus")=="1"){
                          focusresultante=i;
                      }
                });
                if(e.keyCode==13){
                    $("#resultado a:eq("+focusresultante+")").click();
                    focusresultante=-1;
                    $("#resultado").css("display","none");
                }
               if(e.keyCode==38){
                   focusresultante--;
               }
               if(e.keyCode==40){
                   focusresultante++;
               }
               if(focusresultante==-1){
                   focusresultante=$("#resultado a").length-1;
               }
               if(focusresultante==$("#resultado a").length){
                   focusresultante=0;
               }
           });
            $("#codigo").keyup(function (e){
                if(focusresultante==-1)return;
                var cuentaSeleccionada=$(this);
                var posicion = cuentaSeleccionada.position();
                $("#resultado").css({
                    position:"absolute",
                    left:posicion.left-6,
                    top:posicion.top+20,
                    background:"white",
                    border:"solid black thin",
                    font:"10px Arial",
                    color:"black",
                    opacity:"0.7",
                    display:"block"
                });
                var value = $(this).val();
                 $('#resultado').html("");
                 var count=0;
                $.each(ListaCuentaContable, function(i, item) {
                   var codigo = ListaCuentaContable[i].CODIGO.replace(/\-/g, '');  

                   if(codigo.search(value)==0){
                       var extra="";
                       if(count==focusresultante){
                           extra=" style='background:red;' data-focus='1' ";
                       }
                       var texto = "<a href='#' "+extra+" data-id='"+parseInt(item.id)+"'  class='negrillaenter' onclick=\"seleccionarBusqueda('"+item.CODIGO+"', '"+item.DESCRIPCION+"','"+item.id+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</a>";
                       $('#resultado').append(texto);
                       var idPerfil=$("input[name=IdSubMenu]").val();
                       if(idPerfil.length>0){
                           $("div[name=cuentasRe]").each(function(){
                                var id=parseInt($(this).data("id"));
                                if($("a[data-id='"+id+"']").length>0){
                                    $("a[data-id='"+id+"']").remove();
                                }
                           });
                       }
                      count++;
                      if(i==10)return false;
                   }
                }); 
            });
               var url="../CON_CARGO_CUENTAS_CONTROLLER";
            function submenu(elemento){
                $(".subMenu").removeClass("blanco");
                $(elemento).addClass("blanco");
                $("input[name=IdSubMenu]").val($(elemento).data("value"));
                $.post("../CON_CARGO_CUENTAS_CONTROLLER",{proceso:"seleccionarSubMenu",IdSubMenu:$(elemento).data("value")},function(responsetext){
                    $('.contenedor70 div:eq(1)').html(responsetext);
                    $("div[name=cuentasRe]").hover(function(){
                        $(this).find(".btnEliminar").css({
                            visibility:"visible",
                            top:$(this).position().top,
                            left:($(this).position().left+$(this).width())-15,
                            position:"fixed"
                        });
                    },function(){
                        $(this).find(".btnEliminar").css("visibility","hidden");
                    });
                });  
            }
            $(document).click(function(){
                $("#resultado").css("display","none");
            });
            function seleccionarBusqueda(codigo,descripcion,id){
                $("#codigo").val(codigo);
                $("#descripcion").val(descripcion);
                $("#codigo").data("id",id);
                $("#resultado").css("display","none");

            }
            function agregarCuenta(){
                var idPerfil=$("input[name=IdSubMenu]").val();
                var idCuenta=$("#codigo").data("id");
                if(idPerfil.length==0){
                    alert("Selecciona un perfil");
                    return;
                }
                if(idCuenta.length==0){
                    alert("Selecciona una cuenta");
                    return;
                }
                $.post("../CON_CARGO_CUENTAS_CONTROLLER",{proceso:"asignacionCuenta",idCuenta:idCuenta,idPerfil:idPerfil},function(responsetext){
                    submenuSeleccionado.click();
                    $("#descripcion").val("");
                    $("#codigo").val("");
                    $("#codigo").data("id","");
                });
                
            }
            function eliminar(id,span)
            {
                $.post("../CON_CARGO_CUENTAS_CONTROLLER",{proceso:"eliminar",id:id},function (responsetext){
                    $(span).parent().remove();
                });
            }
        </script>
        
</html>
